1. Field of the Invention
The invention relates to a system for providing services, and, more particularly, to a computer system for providing services to users of communication systems using service entities, interface entities, and a service bus.
2. Background of the Invention
Conventionally, services are provided to a user of a telephone system using a top-down approach. FIG. 14 illustrates a system perspective for providing services using the prior art. A service provider 201 provides services to a user 202 via a telephone system 203. The service provider 201 includes an operating system 204, services 205, and a network interface 206. The services 205 are implemented in software as stand-alone services. New services are provided by either adding new stand-alone services 205 to an existing service provider 201 or by adding an entirely new service provider. Examples of services for a telephone system implemented with the prior art approach include a call forwarding service and a call waiting service.
With the conventional approach of FIG. 14, a single network interface 206 is used for each service provider 201, which means that each service provider 201 may only communicate with a single telephone system 203. Also, with the conventional approach, management of the services and network interfaces between service providers is disjoint, which causes an increase in management expenses.
In the conventional system as illustrated in FIG. 14, the deployment of new services typically takes a long time, and there are conventionally no consistent or standardized approaches for the deployment of new services.
Further, the deployment of new services in the conventional manner typically has several problems. For example, a new service is created by a service manufacturer in a closed and proprietary manner, and the augmentation of the deployed new service is difficult to perform and is restricted by the service manufacturer that created the service. In addition, the delivery of a new service created by a service manufacturer is difficult to predict because the service manufacturer operates on its own independent delivery schedule.
Additionally, when deploying a new service with the conventional approach, the new service is often introduced without considering the current deployment of existing services. Further, the interaction of a new service and an existing service is difficult to accomplish if the services are implemented with two different service providers. Moreover, when a new service is deployed, the service provider implementing the new service requires a large amount of maintenance overhead and provisioning. Provisioning is the configuration of data and/or information pertaining to the implemented service.
There exists a need to make providing services to users more efficient and a need to introduce new services more easily.
An object of the invention is to provide a computer system for providing services to a user using a communication system.
An object of the invention is to deploy new services quickly and inexpensively.
An object of the invention is to provide a scalable system for providing services.
An object of the invention is to provide a system that allows for easily creating, managing, and executing new services.
An object of the invention is to provide a system for providing services that enables operators and third parties to develop new services.
The invention includes a system, a method, and an article of manufacture for providing services.
The system of the invention includes a computer system having a computer-readable medium embodying software to operate a computer. The system includes software-implemented service entities, software-implemented interface entities, and a software-implemented service bus. Each service entity produces and receives events and includes at least one of a reusable macro function, an application programming interface function, and a management interface function. Each service entity corresponds to a user subscription to a service. Each interface entity produces and receives events and is coupled to a communication system and communicates with the communication system using a communication protocol. The service bus couples the interface entities and the service entities and passes events between the interface entities and service entities.
The method of the invention includes a method for operating a computer system for providing services having a computer-readable medium embodying software to operate a computer. The software includes software-implemented service entities, software-implemented interface entities, and a software-implemented service bus. A first service entity and a first interface entity are coupled to the service bus. A first event is passed from the first interface entity to the first service entity via the service bus. A second event is passed via the service bus from the first service entity to the first interface entity, a second interface entity coupled to the service bus, or a second service entity coupled to the service bus.
The system of the invention includes a computer system having a computer-readable medium embodying software to operate a computer in accordance with the invention.
The article of manufacture of the invention comprises a computer-readable medium embodying software to operate a computer in accordance with the invention.